package com.mida.dms.knw.entity.vo;


import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.util.List;

/**
 * <h1>本体分页</h1>
 * <p>
 *
 * @author jian.li on 2021/2/25 18:01
 */
@Setter
@Getter
public class KnwNoumenonPage extends MapperPage{

    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long noumenonType;

    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long noumenonSubType;

    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long hospitalSoid;

    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long noumenonSoid;

    @ApiModelProperty(value = "授权空间soid")
    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long useSpaceSoid;

    @ApiModelProperty(value = "授权空间soid列表")
    private List<String>  useSpaceSoids;

    private List<String> listNoumenonSoid;

    /**
     * 是否展示标识 true：不展示 false：展示
     */
    @ApiModelProperty(value = "是否展示标识")
    private Boolean isShowStopUseFlg;

    @JsonSerialize(using= com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long doctorSoid;

    public KnwNoumenonPage() {
    }

    public KnwNoumenonPage(Long pageNo, Long pageSize, String search,
                           Long noumenonType,Long noumenonSubType,Long hospitalSoid) {
        if(pageNo<=0) pageNo = 1L;
        super.pageSt = (pageNo-1)*pageSize+1;
        super.search = search;
        super.pageEd = pageNo*pageSize;
        this.noumenonType = noumenonType;
        this.noumenonSubType = noumenonSubType;
        this.hospitalSoid = hospitalSoid;
    }

    public KnwNoumenonPage(Long pageNo, Long pageSize, String search,
                           Long noumenonType,Long noumenonSubType,Long hospitalSoid,Long useSpaceSoid) {
        if(pageNo<=0) pageNo = 1L;
        super.pageSt = (pageNo-1)*pageSize+1;
        super.search = search;
        super.pageEd = pageNo*pageSize;
        this.noumenonType = noumenonType;
        this.noumenonSubType = noumenonSubType;
        this.hospitalSoid = hospitalSoid;
        this.useSpaceSoid=useSpaceSoid;
    }

    public KnwNoumenonPage(Long pageNo, Long pageSize, String search,
                           Long noumenonType,Long noumenonSubType,Long hospitalSoid,List<String>  useSpaceSoids) {
        if(pageNo<=0) pageNo = 1L;
        super.pageSt = (pageNo-1)*pageSize+1;
        super.search = search;
        super.pageEd = pageNo*pageSize;
        this.noumenonType = noumenonType;
        this.noumenonSubType = noumenonSubType;
        this.hospitalSoid = hospitalSoid;
        this.useSpaceSoids=useSpaceSoids;
    }

    public KnwNoumenonPage(Long pageNo, Long pageSize, String search,
                           Long noumenonType,Long noumenonSubType,Long hospitalSoid,Boolean isShowStopUseFlg) {
        if(pageNo<=0) pageNo = 1L;
        super.pageSt = (pageNo-1)*pageSize+1;
        super.search = search;
        super.pageEd = pageNo*pageSize;
        this.noumenonType = noumenonType;
        this.noumenonSubType = noumenonSubType;
        this.hospitalSoid = hospitalSoid;
        this.isShowStopUseFlg = isShowStopUseFlg;
    }
}
